// 测试3：客户端给服务器发送100字节的body数据，但是实际发送数据不足，看客户端如何处理
// 1.如果只进行一次发送，服务端数据不足无法处理，超时后连接销毁释放
// 2.如果进行多次发送，最终第一个请求会被处理，后续请求可能会出错。

#include "../source/server.hpp"

int main()
{
    Socket socket;
    socket.CreateClient(8080, "127.0.0.1");
    std::string str = "GET / HTTP/1.1\r\nConnection: keep-alive\r\nContent-Length: 100\r\n\r\nzzyhahahah";
    while (1)
    {
        assert(socket.Send(str.c_str(), str.size()) != -1);
        assert(socket.Send(str.c_str(), str.size()) != -1);
        assert(socket.Send(str.c_str(), str.size()) != -1);
        assert(socket.Send(str.c_str(), str.size()) != -1);
        assert(socket.Send(str.c_str(), str.size()) != -1);
        char buffer[1024] = {0};
        socket.Recv(buffer, sizeof(buffer) - 1);
        std::cout << buffer << std::endl;
        sleep(13);
    }
    socket.Close();
    return 0;
}